from dotenv import load_dotenv, find_dotenv
import os
import Agently

_ = load_dotenv(find_dotenv())

agent = (
    Agently.create_agent()
        .set_settings("current_model", "OpenAI")
        .set_settings("model.OpenAI.auth", { "api_key": os.getenv("OPENAI_API_KEY") })
        # 如果需要切换模型，可参考模型清单: https://platform.openai.com/docs/models/overview
        # 默认模型: gpt-3.5-turbo
        .set_settings("model.OpenAI.options", { "model": "gpt-4o" })
        # 如果您需要使用转发Base URL，通常为https://base_domain_name.com/v1这样的格式
        .set_settings("model.OpenAI.url", os.getenv("OPENAI_API_BASE"))
        # 如果您需要使用本地代理，确定本地代理的host和port后，可以按如下方式设置
        # .set_settings("proxy", "http://127.0.0.1:7890")
)

# agent.alias_manager.print_alias_info()

# result = agent.input(input("[请输入您的要求]: ")).start()
# print("[回复]: ", result)

result = (
    agent
        .input({
            "target": "进入被巨石封堵的洞穴",
            "items": ["勺子", "筷子"],
        })
        .output({
            "action": ("str", "用最大胆的方式给出利用{items}完成{target}的方法"),
            "can_do": ("bool", "请用常识判断{action}的可行性"),
            "can_do_explain": ("str", "如果{can_do}==false,给出你的判断理由"),
            "fixed_action": (
                "str",
                "如果{can_do}==false,结合{can_do_explain}和{items}" +
                "重新思考完成{target}的方法"
            )
        })
        .start()
)
print(result)



